Service ควรรู้ก่อนเริ่มใช้งาน AWS
สวัสดีค่ะทุกคน กลับมาพบกันอีกแล้วนะคะกับบทความ AWS โดยในครั้งนี้แพรจะพาทุกคนไปดูบริการพื้นฐาน AWS ที่ควรรู้ และทำความเข้าใจก่อนเริ่มใช้งานจริง ซึ่งจะเหมาะกับผู้ที่กำลังหาข้อมูลเพื่อทดลองเริ่มใช้งาน หรือสำหรับคนที่ยังไม่เข้าใจบริการต่างๆ ดังนั้นในบทความนี้แพรจะพาผู้อ่านทุกคนไปทำความเข้าใจถึงบริการหลักๆ แบบเข้าใจง่ายกันค่ะ ซึ่งบทความนี้เป็นบทความที่แปลมาจากบทความภาษาญี่ปุ่นในหัวข้อ “AWSでまず理解しておくべき基本のサービス” โดยอาจมีเนื้อหาบางจุดที่แตกต่างจากต้นฉบับเล็กน้อยค่ะ เนื่องจากมีการปรับเนื้อหา และภาษาบางส่วนให้สอดคล้องกับทางบริษัท Classmethod (Thailand) Co., Ltd และข้อมูลในปัจจุบัน
ก่อนอื่นจะขอพูดถึงภาพรวมของตลาดคลาวด์ในปัจจุบันสักเล็กน้อยก่อนเข้าสู่เนื้อหานะคะ
ตลาดคลาด์มีอัตราการเติบโต (CAGR) เฉลี่ยปีละ 19% และคาดการณ์ว่า ในปี 2030 ตลาดจะมีมูลค่าสูงถึง 211.47 พันล้านดอลลาร์สหรัฐเลยทีเดียว ยิ่งไปกว่านั้น ตั้งแต่ปี 2019 จนถึงปัจจุบัน AWS (Amazon Web Services) ถือเป็นแพลตฟอร์มคลาวด์อันดับหนึ่งในตลาดอีกด้วยค่ะ
AWS เป็นผู้ให้บริการคลาวด์ที่ดำเนินการโดย บริษัท Amazon ในสหรัฐอเมริกา ที่ให้บริการ Infrastructure อย่างเซอร์เวอร์เสมือน หรือ Database รวมถึงเทคโนโลยีสมัยใหม่อย่าง Machine learning หรือ IoT และเนื่องจากผู้ใช้ไม่จำเป็นต้องมี Hardware จึงสามารถจัดหาโครงสร้างพื้นฐานได้อย่างรวดเร็ว ยิ่งไปว่านั้นยังสามารถใช้บริการต่างๆ ได้ในราคาประหยัด ทำให้มีจำนวนบริษัททั้งใน และต่างประเทศหันมาใช้บริการ AWS เพิ่มขึ้นอย่างต่อเนื่องในทุกๆ ปี
งั้นมาดูกันเลยดีกว่าค่ะ ว่าเราควรรู้อะไรบ้างก่อนเริ่มใช้งาน AWS
สิ่งที่ควรรู้เมื่อเริ่มใช้งาน AWS
เมื่อเริ่มต้นใช้งาน AWS (Amazon Web Service) รวมถึงการทดลองใช้งาน (Trial) ควรทำความเข้าใจ 2 จุดสำคัญด้วยกัน ได้แก่ “Global Infrastructure” และ “Service”
AWS ให้บริการในหลายๆ พื้นที่ทั่วโลกกว่า 245 ประเทศ ทำให้ผู้ใช้งานสามารถใช้บริการ Sever หรือ Service ได้จากทั่วทุกมุมโลก ยิ่งไปกว่านั้น ยังมีเครื่องมือให้บริการบน AWS มากกว่า 200 รายการเลยทีเดียว โดยผู้ใช้งานจะต้องเป็นผู้ตัดสินใจเองว่าจะเลือกใช้ระบบแบบใด
ในบทความนี้จะขอแนะนำองค์ประกอบสำคัญของ Global Infrastructure อย่าง Region และ Availability Zones รวมถึงบริการพื้นฐานของ AWS ให้กับผู้อ่านทุกท่านค่ะ
สำหรับใครที่อยากทำความเข้าใจว่า AWS เป็นบริการแบบไหน ก็สามารถอ่านบทความด้านล่างนี้ได้เลยนะคะ
AWS 101 ฉบับเรียนด้วยตัวเอง : AWS คืออะไร
Region
ในปัจจุบัน (2024) พื้นที่ทางภูมิศาตร์ในการให้บริการศูนย์จัดเก็บข้อมูล หรือที่เรียกกันว่า “Region” มีเปิดให้บริการถึง 34 แห่ง ในประเทศต่างๆ ทั่วโลกเลยค่ะ เช่น สหรัฐอเมริกา ฝรั่งเศส บราซิล และแอฟริกาใต้ ซึ่งในส่วนภูมิภาคเอชียก็มีให้บริการในหลายๆ ประเทศเช่นกัน เช่น สิงคโปร์ อินโดนีเซีย ญี่ปุ่น จีน อินเดีย หรือมาเลเซียค่ะ
ยิ่งไปกว่านั้น แพรเชื่อว่าต้องมีหลายๆ คนกำลังรอการมาของรีเจี้ยนประเทศไทยอย่างแน่นอน เพราะล่าสุดในงาน AWS Summit Bangkok 2024 ทาง AWS ได้ประกาศออกมาอย่างเป็นทางการแล้วค่ะว่าจะเปิดตัว Thai Region ในช่วงต้นปี 2025 ที่จะถึงนี้ ดังนั้นอดใจรอกันอีกหน่อยนะคะ
และในส่วนของการใช้งาน ผู้ใช้งานสามารถตั้งค่า Server หรือ Service ในอเมริกาได้ง่ายๆ แม้จะอยู่ประเทศไทยก็ตาม เนื่องจาก AWS มี Region กระจายตัวอยู่ทั่วโลกนั่นเอง
นอกจากนี้ บริษัทระดับโลกยังสามารถขยายสภาพแวดล้อมในระบบที่คล้ายคลึงกันไปยังสถานที่ต่างๆ ทั่วโลกได้ พร้อมใช้บริการที่มีประสิทธิภาพสูง และมีความแฝงต่ำได้เหมือนเดิม
อย่างไรก็ตาม บริการที่สามารถใช้ได้ และค่าธรรมเนียมอาจมีความแตกต่างกันไปในแต่ละ Region โดยจะขึ้นอยู่กับขนาดของ Data Center, สเปกของ Server, ค่าครองชีพ, ข้อบังคับกฎหมาย ฯลฯ แต่หากต้องการใช้บริการที่ไม่มีให้บริการในรีเจี้ยนประเทศสิงคโปร์ ผู้ใช้งานจำเป็นจะต้องใช้งานในรีเจี้ยนอื่นๆ แทน
สำหรับรายชื่อรีเจี้ยนที่ให้บริการสามารถดูได้จากตารางด้านล่างเลยค่ะ
ยกตัวอย่างในกรณี Singapore Region จะแสดงเป็น "ap-southeast-1"
เมื่อแยกส่วนตามเครื่องหมาย "-" จะได้ดังนี้
ap: Asia Pacific, southeast: ตะวันออกเฉียงใต้, 1:1 ภูมิภาคที่เปิดให้บริการเป็นอันดับแรก
ดังนั้น "ap-southeast-1" หมายถึง ภูมิภาคที่เปิดให้บริการเป็นอันดับแรกในพื้นที่ตะวันออกเฉียงใต้ของเอเชียแปซิฟิก
Region | Code |
---|---|
Asia Pacific (Singapore) | ap-southeast-1 |
US East (Northern Virginia) | us-east-1 |
US West (Oregon) | us-west-2 |
Europe (Paris) | eu-west-3 |
Availability Zones
Data Center ในแต่ละรีเจี้ยนจะถูกเรียกว่า Availability Zones (AZ)
Singapore Region มี AZ ให้บริการอยู่ทั้งหมด 3 แห่งด้วยกัน แต่ไม่มีการเปิดเผยตำแหน่งที่ตั้งเพื่อความปลอดภัยของข้อมูลนั่นเอง และเพื่อลดความเสี่ยงที่จะเกิดขึ้นกับข้อมูลของเรา AWS จึงแนะนำให้ทำ Multi-AZ หรือการสำรองข้อมูลเอาไว้ในหลายๆ AZ จะปลอดภัยที่สุด
ส่วนใครที่อยากทำความเข้าใจเพิ่มเติมเกี่ยวกับ Availability Zone ก็สามารถเข้าไปอ่านข้อมูลได้จากลิงก์บทความ AWS Region, Availability Zone และ Edge Location คืออะไร ได้เลยค่ะ
บริการที่ควรรู้เมื่อเริ่มต้นใช้งาน AWS
ในบทความนี้จะขอแนะนำ 7 บริการพื้นฐานบน AWS ที่ควรรู้จักก่อนเริ่มใช้งานกันค่ะ ซึ่งจะแบ่งออกเป็น บริการสำหรับสร้างระบบ (Amazon EC2/Amazon S3/Amazon RDS), บริการสำหรับการสร้าง และดำเนินการระบบ (AWS IAM/Amazon CloudWatch/AWS Trusted Adviser), และสุดท้ายบริการเกี่ยวกับค่าใช้จ่าย (AWS Cost Explorer)
งั้นเราไปดูกันเลยดีกว่าค่ะ ว่าแต่ละบริการนั้นมีอะไรบ้าง
Amazon EC2
บริการแรก คือ Amazon EC2 (Elastic Compute Cloud) เป็นบริการเซิร์ฟเวอร์เสมือนจริง โดยเซิร์ฟเวอร์ EC2 หลายตัวจะถูกเปิดใช้งานบนเครื่องเซิร์ฟเวอร์ที่อยู่ใน Data Center
ผู้ใช้สามารถเลือกระบบปฏิบัติการ (OS), CPU, Spec หรือ Storage เพื่อเปิดใช้งานเซิร์ฟเวอร์เสมือนจริงได้ด้วยตนเองภายในไม่กี่คลิก
สำหรับการตั้งค่าที่ไม่มีความซับซ้อนมากนัก ผู้ใช้งานสามารถเปิด และปิดการใช้งานเซิร์ฟเวอร์ได้ภายในไม่กี่คลิกเช่นกัน และใช้เวลาเพียงไม่กี่นาทีเท่านั้น นอกจากนี้ยังสามารถติดตั้งเว็บเซิร์ฟเวอร์ เช่น nginx หรือ Apache บน EC2 ที่เปิดใช้งานเพื่อให้ทำหน้าที่เป็น Back End ของแอปพลิเคชัน หรือประมวลผล API ก็ทำได้เช่นกัน
ในส่วนของการคิดค่าบริการ Amazon EC2 จะคิดตามการใช้งานจริง โดยราคาจะแตกต่างกันไปตามระบบปฏิบัติการ หรือสเปก เป็นต้น หากต้องการประหยัดค่าใช้จ่ายให้ได้มากที่สุด ก็สามารถใช้ Spot Instance หรือ Reserved Instance ในการช่วยลดค่าใช้จ่ายได้ ซึ่งสามารถช่วยลดต้นทุนได้มากถึง 90% เลยทีเดียว
Amazon S3
S3 (Simple Storage Service) เป็นบริการจัดเก็บข้อมูล (Storage) เราสามารถจัดเก็บไฟล์ประเภทต่างๆ เช่น รูปภาพ ไฟล์วิดีโอ ไฟล์ HTML ได้โดยไม่มีข้อจำกัดเรื่องขนาด ผู้ใช้สามารถสร้าง Bucket (คล้ายกับ Folder) และจัดเก็บไฟล์ลงไปใน Bucket นั้น โดยสามารถดึงไฟล์ที่จัดเก็บเอาไว้ออกมาใช้ และลบได้อย่างอิสระ จุดแข็งของ S3 คือได้รับการออกแบบให้มีความคงทน 99.999999999% ต่อปี และความพร้อมใช้งานของอ็อบเจกต์ ถึง 99.99%
Amazon S3 สามารถใช้ในการสร้าง Static Website จากไฟล์ HTML ที่บันทึกไว้ หรือเก็บข้อมูลจากกล้องบันทึกภาพในรถของบริษัทตามกฎระเบียบของบริษัท เป็นต้น และหากผู้ใช้เผลอเขียนทับไฟล์โดยไม่ได้ตั้งใจ ก็สามารถกู้คืนไฟล์ได้หากเปิดใช้งานฟังก์ชันการจัดเวอร์ชัน ค่าบริการจะคิดตามปริมาณข้อมูลที่เก็บไว้ และปริมาณข้อมูลที่เรียกใช้
Amazon RDS
RDS (Relational Database Service) เป็นบริการ Database ที่รองรับ MySQL, Postgres, MariaDB, NoSQL Database ฯลฯ
Amazon RDS สามารถทำงานร่วมกับ EC2 เพื่อจัดการผู้ใช้ และรหัสผ่านในระบบ รวมถึงการเก็บข้อมูล IoT ได้ อีกทั้งยังรองรับ การเข้ารหัสแบบ Database และ Multi-AZ อีกด้วย โดยค่าบริการจะคิดตามชั่วโมงการใช้งานจริง และราคาก็จะแตกต่างกันไปตามสเปกที่เราเลือกใช้งาน
AWS IAM
IAM (Identity and Access Management) เป็นบริการ Web Service สำหรับจัดการความปลอดภัยในการเข้าถึงทรัพยากรภายใน AWS (เช่น EC2, RDS) ผู้ใช้สามารถอนุญาต หรือปฏิเสธการเข้าถึงทรัพยากรได้ตามความต้องการ ซึ่งทาง AWS แนะนำให้มอบสิทธิ์การเข้าถึงแค่บุคคลที่จำเป็นเท่านั้น
ตัวอย่างเช่น แผนกธุรการ มีสิทธิ์เข้าถึงเฉพาะข้อมูลการเงินเท่านั้น ในขณะที่ทีมวิศวกร มีสิทธิ์ใช้งานเฉพาะบริการในส่วนระบบพัฒนาอย่าง EC2 เท่านั้น การจำกัดสิทธิ์ดังกล่าวจะช่วยป้องกัน Human error และลดความเสี่ยงจากเหตุการณ์ข้อมูลรั่วไหลนอกจากนี้ การสร้างกลุ่มการเข้าถึงตามหน่วยงานต่างๆ ดังที่กล่าวไปข้างต้น จะช่วยให้สามารถมอบ หรือลบสิทธิ์ได้อย่างรวดเร็วเมื่อมีการเพิ่มสมาชิกใหม่ หรือสมาชิกออกจากกลุ่ม
นอกจากมอบสิทธิ์ให้ผู้ใช้แล้ว คุณยังสามารถมอบสิทธิ์ IAM ให้กับบริการได้ด้วยเช่นกัน ตัวอย่างเช่น คุณสามารถจำกัด EC2 ให้เชื่อมต่อกับ RDS เท่านั้น ซึ่งบริการนี้เป็นบริการฟรี ไม่มีค่าใช้จ่าย
Amazon CloudWatch
CloudWatch เป็นบริการ Monitoring ที่คอยติดตามดูแลทรัพยากร เช่น EC2 หรือ RDS อีกทั้งยังสามารถตรวจสอบการใช้ CPU, ปริมาณ Traffix, หรือขนาดหน่วยความจำในช่วงชั่วโมง หรือช่วงนาทีได้ นอกจากนี้ CloudWatch ยังสามารถตรวจสอบทรัพยากร AWS รวมถึงอุปกรณ์บนระบบ On-premise และคลาวด์อื่นๆ ได้อีกด้วย
นอกจากการตรวจสอบแล้ว คุณยังสามารถตั้งค่าระบบต่างๆ ได้ เช่น การส่งอีเมลแจ้งเตือน การรีสตาร์ท หรือการหยุดทรัพยากรเมื่อมีการเปลี่ยนแปลงเกิดขึ้น โดยพื้นฐานแล้ว CloudWatch เป็นบริการฟรี แต่อาจมีค่าใช้จ่ายเพิ่มเติมขึ้นอยู่กับรายการที่ต้องการตรวจสอบ
AWS Trusted Advisor
Trusted Advisor เป็นบริการตรวจสอบทรัพยากร AWS ที่ผู้ใช้สร้างขึ้นมา ซึ่งจะตรวจสอบ และให้คำแนะนำเกี่ยวกับการประหยัดค่าใช้จ่าย System Performance รวมถึงความปลอดภัยของระบบ โดยเปรียบเทียบกับชุดแนวทางปฏิบัติที่ดีที่สุด (Best Practice) ของ AWS
ตัวอย่างเช่น หากคุณใช้ EC2 ที่มีสเปกเกินความจำเป็น Trusted Advisor จะแนะนำให้ลดสเปกลง หรือหากมีการตั้งค่า EC2 ผิดพลาด เช่น เปิดให้ทุกคนสามารถเข้าสู่ระบบได้ Trusted Advisor ก็จะแจ้งเตือนไปยังผู้ใช้งานทางอีเมล หรือช่องทางอื่นๆ
ในด้านของค่าบริการ Trusted Adviser เป็นบริการฟรีไม่มีค่าใช้จ่าย เนื่องจากค่าใช้จ่ายในส่วนนี้จะถูกรวมอยู่ในแต่ละแผนสนับสนุนของ AWS อยู่แล้วนั่นเอง ในกรณีที่มีค่าใช้จ่าย ค่าบริการจะขึ้นอยู่กับแผนสนับสนุนที่ผู้ใช้ได้ทำสัญญาเอาไว้ (มี 4 ระดับ)
AWS Cost Explorer
Cost Explorer เป็นบริการที่ช่วยให้ผู้ใช้สามารถวิเคราะห์การใช้ทรัพยากร และค่าใช้จ่ายให้เห็นภาพชัดเจนมากยิ่งขึ้น (Visualization) อีกทั้งยังสามารถเปรียบเทียบค่าใช้จ่าย และปริมาณการใช้งานในแต่ละ Service เช่น EC2 หรือ RDS ได้เช่นกัน
บริษัทสามารถติดตามบริการ และรีเจี้ยนที่มีค่าใช้จ่ายเพิ่มขึ้นได้ทั้งหมด ทำให้สามารถตรวจจับความผิดปกติได้อย่างรวดเร็วในกรณีที่มีการใช้ทรัพยากรเกินขนาด และสำหรับผู้ใช้รายบุคคล Cost Explorer ก็เป็นประโยชน์อย่างมากในการช่วยให้สามารถระบุทรัพยากรที่ลืมลบออกไปได้
ตัวอย่างพื้นฐานการใช้งานบริการ AWS
ต่อไปนี้จะขอแสดงให้เห็นว่าหากนำบริการข้างต้นมารวมเป็นระบบเดียวกันแล้ว จะสามารถสร้างระบบอะไรได้บ้าง โดยต่อจากนี้จะเป็นเพียงตัวอย่างการนำบริการไปใช้เท่านั้น ในการสร้างระบบจริงอาจต้องใช้บริการอื่นร่วมด้วย หรืออาจต้องมีการตั้งค่าที่ละเอียดมากขึ้น
1.การตั้งค่าสภาพแวดล้อม AWS
การสร้าง User สำหรับการพัฒนาระบบ โดยใช้บริการ IAM จะช่วยให้ผู้พัฒนาสามารถจัดการ EC2 และ RDS ได้อย่างสะดวก ปลอดภัยผ่านหน้าจอ AWS
2.การพัฒนา
ตั้งค่าแอปพลิเคชันพื้นฐานของระบบลงบน EC2 และกำหนดค่าเพื่อให้ข้อมูลผู้ใช้แอปพลิเคชัน รหัสผ่าน และข้อมูลอื่นๆ ถูกนำไปเก็บไว้บน RDS นอกจากนี้ รูปโปรไฟล์ของผู้ใช้แอปพลิเคชันจะถูกเก็บเอาไว้บน S3
3.การใช้งานให้เกิดประสิทธิภาพ
- ตรวจสอบสถานะทรัพยากร EC2 หรือ RDS ด้วยบริการ CloudWatch หากพบว่ามีการใช้งาน CPU ที่สูงผิดปกติ ให้ลองกลับไปดูในส่วนของสเปค หรือพิจารณาการเพิ่มในส่วนของ EC2 - ตรวจสอบความปลอดภัยของระบบที่สร้างขึ้นมาโดยใช้บริการ Trusted Adviser
- ตรวจสอบค่าใช้จ่ายผ่าน Cost Explorer
สิ่งที่ควรทำความเข้าใจก่อนเริ่มใช้งาน AWS
สิ่งที่ได้กล่าวไปในข้างต้นนั้น เป็นสิ่งที่ควรรู้ และทำความเข้าใจเมื่อเริ่มใช้งาน AWS สิ่งสำคัญคือการกำหนด Region และ Availability zone ที่จะใช้งาน และการเลือกบริการที่ต้องการใช้ในการสร้างระบบ
Classmethod และบริการสนับสนุนการใช้งาน AWS อย่างเต็มรูปแบบ
ในกลุ่มผู้ใช้ที่กำลังพิจารณาการใช้งาน AWS อยู่ อาจจะไม่มีวิศวกรที่เชี่ยวชาญในด้าน AWS ภายในบริษัท ทำให้รู้สึกไม่มั่นใจในการใช้งานเท่าไรนัก หากเป็นเช่นนั้น เรามีบริการสนับสนุนการใช้งาน AWS อย่างมีประสิทธิภาพจาก Classmethod มาแนะนำค่ะ นั่นก็คือ "Classmethod Members"
"Classmethod Members" มีบริการพื้นฐานสองแบบด้วยกันค่ะ อย่างแรกเลยก็คือ บริการพื้นฐานที่ได้รับส่วนลดค่าใช้จ่าย AWS และ Free Technical Support ตลอด 24 ชั่วโมง 356 วัน อีกบริการหนึ่งคือ บริการพรีเมียมซึ่งเป็นตัวเลือกเสริมนั่นเอง ในส่วนของบริการพรีเมียม จะมีบริการให้คำปรึกษาต่างๆ มากมาย เช่น ที่ปรึกษาทางเทคนิค AWS โดยวิศวกรของ Classmethod ผู้มีความเชี่ยวชาญเฉพาะทาง หรือจะเป็นการให้คำแนะนำเกี่ยวกับเทคโนโลยี AWS เสนอแนวทางแก้ไขปัญหาที่เหมาะสมที่สุดสำหรับปัญหาที่ลูกค้าพบเจอในการใช้งาน และการโยกย้ายไปยังคลาวด์ เราขอแนะนำบริการเหล่านี้สำหรับผู้ที่ต้องการการสนับสนุนในการใช้งาน AWS
เป็นยังไงกันบ้างคะกับการทำความรู้จักบริการเบื้องต้นของ AWS หวังว่าผู้อ่านทุกท่านจะเข้าใจในบริการต่างๆ มากขึ้น และเป็นประโยชน์ในการเริ่มใช้งาน AWS นะคะ แล้วพบกันใหม่ในบทความหน้าค่ะ
ข้อมูลเพิ่มเติมเกี่ยวกับแต่ละบริการของ AWS โดยละเอียด